﻿@media screen and (max-width:599px) {
  :root {
  }


section img {
  width: 100%;
}

/* ===== .main : con01 + con02 mobile ===== */
.main {
  height: auto;
  margin-top: -4vw;
}

.con01{
  display: none;
}

.con02 {
    height: 150vw;
    transform: translateY(0%);
}

.con02_inner {
  width: 86%;
}

.con02_icon {
  width: 15vw;
}

.con02_sub {
  font-size: 4.5vw;
  margin-top: 4vw;
}

.con02_tt {
  font-size: 9vw;
  margin-top: 4vw;
}

.con02_desc {
  font-size: 3.6vw;
  margin-top: 4vw;
  line-height: 1.6em;
}

.con02_btn {
    width: 50vw;
    height: 13vw;
    margin-top: 10vw;
    border-radius: 50vw;
    gap: 4vw;
}

.con02_btn_tx,
.con02_btn_arrow {
  font-size: 3.8vw;
}

.con02_btn_arrow {
    width: 5vw;
}

.con01_logo {
  width: 22vw;
}

.con01_label {
  font-size: 3.6vw;
  margin-top: 2vw;
  letter-spacing: 1vw;
}

.con01_emblem {
  width: 20vw;
  margin-top: 5vw;
}

.con01_quote {
  font-size: 4.2vw;
  margin-top: 3vw;
}

/* ===== con03 mobile ===== */
.con03 {
  justify-content: flex-start;
  min-height: 125vw;
  padding-top: 17vw;
  padding-bottom: 8vw;
}

.con03_06 {
  position: absolute;
  left: 50%;
  top: 0;
  width: 118vw;
  transform: translateX(-50%);
  pointer-events: none;
}

.con03_08 {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 148vw;
  transform: translateX(-50%);
  pointer-events: none;
}

.con03_title_wrap {
  position: relative;
  left: auto;
  top: auto;
  width: 86%;
  min-height: 27vw;
  transform: none;
}

.con03_title_main {
  font-size: 7.5vw;
  line-height: 1.2em;
}

.con03_title_sub {
  margin-top: 3vw;
  font-size: 3.4vw;
  line-height: 1.55em;
}

.con03_title_01 {
  animation: con03TitleOne 7s ease-in-out infinite;
}

.con03_title_02 {
  animation: con03TitleTwo 7s ease-in-out infinite;
}

.con03_bowl {
  position: relative;
  left: auto;
  top: auto;
  width: 93vw;
  margin-top: 34vw;
  transform: none;
}

.con03_food {
  left: 7%;
  bottom: 1vw;
  width: 77vw;
}

.con03_smoke {
    left: 7%;
    top: -50%;
    width: 78vw;
}

.con03_lid {
  left: 17%;
  top: -12%;
  width: 62vw;
}

.con03_badge {
  width: 26vw;
}

.con03_badge_left {
  left: 18%;
  top: 45vw;
}

.con03_badge_right {
  right: 18%;
  top: 45vw;
}

.con03_badge p {
  font-size: 3.2vw;
  line-height: 1.25em;
}

.con03_pattern {
  width: 158vw;
  bottom: 0;
}

/* ===== con04 mobile ===== */
.con04 {
  justify-content: flex-start;
  min-height: auto;
  padding: 12vw 0 0;
}

.con03_09 {
  position: absolute;
  left: 50%;
  top: 0;
  width: 340vw !important;
  transform: translateX(-50%);
  pointer-events: none;
}

.con04_inner {
  width: 92%;
  min-height: auto;
  flex-direction: column;
  align-items: center;
}

.con04_center {
  order: 1;
  width: 100%;
  min-height: auto;
  padding: 12vw 5vw 10vw;
  box-sizing: border-box;
}

.con04_label {
  font-size: 3.9vw;
}

.con04_bar {
  width: 18vw;
  margin-top: 2vw;
}

.con04_title {
  margin-top: 6vw;
  font-size: 7.5vw;
  line-height: 1.28em;
}

.con04_desc {
  margin-top: 5vw;
  font-size: 3.4vw;
  line-height: 1.65em;
  word-break: keep-all;
}

.con04_copy {
  margin-top: 4vw;
  font-size: 3.4vw;
  line-height: 1.55em;
  word-break: keep-all;
}

.con04_en {
  position: relative;
  left: auto;
  bottom: auto;
  margin-top: 9vw;
  font-size: 3.1vw;
}

.con04_side {
  width: 100%;
  padding: 0;
  flex-direction: row;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2vw;
  background-size: cover;
}

.con04_side_left {
  order: 2;
  margin-top: 4vw;
  padding-top: 4vw;
}

.con04_side_right {
  order: 3;
  margin-top: 0;
  padding-bottom: 2vw;
}

.con04_menu {
  width: 42vw;
}

.con04_03 {
  top: 36%;
  width: 39vw;
}

.con04_menu_text {
  top: 44%;
  width: 31vw;
  font-size: 3.5vw;
  line-height: 1.35em;
}

.con04_deco {
  display: none;
}

/* ===== con05 mobile ===== */
.con05 {
  min-height: auto;
  padding: 13vw 0 10vw;
  flex-direction: column;
}

.con05_line.item1 {
  left: 50%;
  top: 0;
}

.con05_line.item2 {
  display: none;
}

.con05_left {
  position: relative;
  left: auto;
  width: 70vw;
  margin-right: 0;
}

.con05_label {
  padding: 2.3vw 5vw;
  border-radius: 99vw;
  font-size: 3.6vw;
}

.con05_title {
  margin-top: 13vw;
  margin-bottom: 10vw;
  font-size: 7vw;
  line-height: 1.35em;
}

.con05_02 {
  width: 22vw;
}

.con05_right {
  width: 100%;
  margin-left: 0;
  margin-top: 8vw;
  min-height: auto;
}

.con05_slide {
  padding-top: 0;
}

.con05_slide .swiper-wrapper {
  align-items: stretch;
}

.con05_slide .swiper-slide {
  justify-content: flex-start;
  align-items: stretch;
  overflow: hidden;
}

.con05_item {
  min-height: 60vw;
  width: 100%;
  padding: 7vw 11vw 0 19vw;
  box-sizing: border-box;
}

.con05_slide .swiper-slide:not(.swiper-slide-active) .con05_item {
  opacity: 0;
}

.swiper-slide-active .con05_item {
  opacity: 1;
}

.con05_05,
.con05_05a,
.con05_05b {
  left: 10vw;
  top: 0;
  width: 8.6vw;
}

.con05_item_title {
  width: 70vw;
  font-size: 5vw;
  line-height: 1.25em;
}

.con05_item_desc {
  width: 70vw;
  margin-top: 7vw;
  font-size: 3.4vw;
  line-height: 1.7em;
  word-break: keep-all;
}

/* ===== con06 mobile ===== */
.con06 {
    min-height: auto;
    padding: 0;
    background-position: center top;
    padding-top: 31vw;
}

.con06_left {
    position: absolute;
    left: -10vw;
    top: -2vw;
    width: 58vw;
    transform: none;
}

.con06_11 {
  width: 38vw;
}

.con06_side_title {
  grid-template-columns: repeat(2, 11vw);
  grid-auto-rows: 11vw;
  left: 50%;
  top: 49%;
  transform: translate(-50%, -50%);
  font-size: 7vw;
}

.con06_center {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  margin-top: 0vw;
  padding: 0 0 15vw;
  box-sizing: border-box;
  flex-direction: column;
}

.con06_05 {
  left: 50%;
  top: 20vw;
  width: 94vw;
  transform: translateX(-50%);
  display: none;
}

.con06_03 {
  position: relative;
  left: 9%;
  top: auto;
  width: 80vw;
  margin-top: 0;
  transform: none;
  margin-bottom: 2vw;
}

.con06_02 {
  width: 100vw !important;
  left: -24%;
  bottom: 4%;
}

.con06_04 {
  left: 20.4%;
  bottom: 66%;
  top: 14vw;
  width: 60vw !important;
}

.con06_01 {
    left: 50%;
    top: -8vw;
    width: 27vw;
    transform: translateX(-50%);
}

.con06_01 p {
  font-size: 3.4vw;
}

.con06_point {
  position: relative;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  width: 86%;
  justify-content: flex-start;
  margin-top: 6vw;
}

.con06_point_rice {
  order: 1;
}

.con06_point_fire {
  order: 2;
}

.con06_point_time {
  order: 3;
}

.con06_06 {
  flex-shrink: 0;
  width: 18vw !important;
}

.con06_06 p {
  font-size: 4.8vw;
}

.con06_point_line {
  display: none;
}

.con06_point_desc,
.con06_fire_desc {
  width: auto;
  margin-left: 4vw;
  margin-right: 0;
  font-size: 3.4vw;
  line-height: 1.65em;
  text-align: left;
  white-space: normal;
  word-break: keep-all;
}

.con06_fire_desc {
  position: relative;
  right: auto;
  bottom: auto;
  order: 2;
}

.con06_bottom_desc {
  position: relative;
  left: auto;
  bottom: auto;
  order: 4;
  width: 86%;
  margin-top: 8vw;
  transform: none;
  font-size: 3.4vw;
  line-height: 1.65em;
  word-break: keep-all;
}

.con06_bottom_desc b {
  font-size: 3.8vw;
}

/* ===== con07 mobile ===== */
.con07 {
  min-height: auto;
  padding: 8vw 0 0;
}

.con07_frame,
.con07_btm_frame {
  width: 100%;
}
.con07 > img {
    filter: brightness(0.8);
}

.con07_btm_big img {
    filter: brightness(0.8);
}

.con07_frame {
  padding: 4vw 0 5vw 0;
  background-size: cover;
}

.con07_frame_in {
  width: 92%;
  height: 145vw;
  margin: 0;
}

.con07_frame::before {
  top: 48.3%;
  width: 92%;
}

.con07_bg_top {
  right: -14%;
  top: -12%;
  width: 70vw;
}

.con07_bg_bottom {
  left: -18%;
  bottom: -8%;
  width: 78vw;
}

.con07_grid {
  left: 5%;
  top: 2%;
  z-index: 6;
  width: 27vw;
  height: 40vw;
}

.con07_04 {
  width: 34vw;
}

.con07_07 > img{
  filter: brightness(0.8);
}

.con07_side_title {
  grid-template-columns: repeat(2, 9vw);
  grid-auto-rows: 9vw;
  font-size: 6.5vw;
}

.con07_main_menu {
  left: 50%;
  top: 47%;
  width: 65vw;
}

.con07_menu_caption {
  bottom: 35%;
  gap: 2vw;
  font-size: 4.2vw;
  line-height: 1.35em;
}

.con07_menu_caption span {
  font-size: 3.5vw;
}

.con07_icon {
  width: 8vw !important;
}

.con07_categories {
  right: 6%;
  top: 66%;
  gap: 1.5vw;
  flex-direction: column;
}

.con07_02,
.con07_02a,
.con07_02b {
  width: 14vw;
}

.con07_text {
  left: 13%;
  top: 74%;
  gap: 3vw;
}

.con07_01 {
  width: 1.1vw;
  margin-bottom: 1vw;
}

.con07_text_title {
  font-size: 6vw;
}

.con07_text_desc {
  margin-top: 3vw;
  font-size: 3.4vw;
  line-height: 1.65em;
  word-break: keep-all;
}

.con07_btm_frame {
  padding: 15vw 0 13vw;
  background-size: cover;
}

.con07_09 {
  top: -2vw;
  width: 200% !important;
}

.con07_btm_title {
  font-size: 7.5vw;
}

.con07_btm_btn_wrap {
  width: 80%;
  margin-top: 5vw;
  gap: 0;
  justify-content: space-between;
}

.con07_btm_btn {
  min-width: auto;
  height: 9vw;
  font-size: 3.3vw;
}

.con07_btm_btn.active::after {
  width: 12vw;
}

.con07_btm_visual {
  width: 94vw;
  margin-top: 6vw;
}

.con07_btm_big {
  width: 82vw;
  height: 44vw;
  border-radius: 5vw;
}

.con07_btm_big p {
  bottom: 5vw;
  font-size: 4vw;
}

.con07_btm_arrow {
  width: 11vw;
  height: 10vw;
  border-radius: 99vw;
}

.con07_btm_prev {
  left: 0;
}

.con07_btm_next {
  right: 0;
}

.con07_btm_arrow img {
  width: 3.6vw;
}

.con07_btm_thumbs {
  width: 85vw;
  margin-top: 4vw;
}

.con07_12 {
  width: 24vw;
  height: 24vw;
  border-radius: 4vw;
}

.con07_12 img {
  width: 16vw;
}

.con07_btm_thumb p {
  margin-top: 3vw;
  min-height: 11vw;
  font-size: 3.2vw;
  line-height: 1.35em;
}

.con07_btm_empty {
  width: 84vw;
  height: 44vw;
  margin-top: 8vw;
  border-radius: 5vw;
  font-size: 4vw;
}

/* ===== con08 mobile ===== */
.con08 {
  min-height: auto;
  padding: 15vw 0 10vw;
  background-position: center top;
}

.con08_head {
  width: 88%;
}

.con08_label {
  font-size: 3.6vw;
}

.con08_01 {
  width: 18vw;
  margin-top: 2.5vw;
}

.con08_title {
  margin-top: 5vw;
  font-size: 6.5vw;
  line-height: 1.4;
  word-break: keep-all;
}

.con08_title b {
  font-size: 6.5vw;
}

.con08_desc {
  margin-top: 4vw;
  font-size: 3.5vw;
  line-height: 1.65em;
  word-break: keep-all;
}

.con08_panel_wrap {
  width: 92%;
  margin-top: 8vw;
  gap: 6vw;
  flex-direction: column;
}

.con08_05 {
    position: relative;
    order: 2;
    width: 48vw !important;
    margin: -10vw 0;
}

.con08_center_in {
  left: 0;
  top: 0;
  justify-content: center;
  height: 100%;
}

.con08_02 {
    width: 30vw !important;
    margin-top: 3vw;
}

.con08_center_tx {
    margin-top: 4vw;
    font-size: 4.4vw;
}

.con08_03_wrap {
  align-items: baseline;
  justify-content: center;
  margin-top: 1vw;
}

.con08_03 {
    width: 20vw !important;
    margin-top: 0;
}

.con08_center_sub {
    font-size: 6vw;
    margin-left: -1vw;
    transform: translateY(-3.5vw);
}

.con08_card {
  width: 100%;
  height: auto;
  min-height: auto;
  border-radius: 5vw;
  box-sizing: border-box;
}

.con08_card_left {
  order: 1;
  padding: 6vw 0 7vw 0;
  margin-right: 0;
}

.con08_card_right {
  order: 3;
  padding: 7vw 0 6vw 0;
  margin-left: 0;
}

.con08_card_title {
  font-size: 4vw;
}

.con08_ratio {
  width: 82vw;
  height: 37vw;
  margin-top: 5vw;
  margin-right: 2vw;
}

.con08_08 {
  left: 6%;
  top: 1%;
  width: 34vw;
}

.con08_09 {
  left: 43%;
  top: 0;
  width: 25vw;
}

.con08_10 {
  right: 5%;
  top: 29%;
  width: 22vw;
}

.con08_source {
  margin-top: 1vw;
  font-size: 3vw;
}

.con08_test_grid {
  grid-template-columns: repeat(2, 39vw);
  grid-auto-rows: 24vw;
  gap: 2vw;
  margin-top: 5vw;
}

.con08_test_item {
  border-radius: 3vw;
}

.con08_11,
.con08_12,
.con08_13,
.con08_14 {
  width: 11vw;
}

.con08_test_item p {
  margin-top: 2.5vw;
  font-size: 3.2vw;
  line-height: 1.3em;
}

.con08_07 {
  right: 4vw;
  bottom: -4vw;
  width: 27vw !important;
}

.con08_bottom {
  width: 86%;
  margin-top: 7vw;
  font-size: 3.8vw;
  line-height: 1.55em;
}

.con08_06 {
  width: 30vw !important;
  margin-top: 12vw;
}

/* ===== con09 mobile ===== */
.con09 {
  min-height: auto;
  padding: 18vw 0 15vw;
  background-position: center top;
  overflow: hidden;
}

.con09_top_pattern {
  width: 220vw;
  left: 50%;
  transform: translateX(-50%);
}

.con09 .con03_09 {
  display: none;
}

.con09_head {
  width: 88%;
}

.con09_label {
  font-size: 3.6vw;
}

.con09_02 {
  width: 14vw;
  margin-top: 2.5vw;
}

.con09_title {
  margin-top: 5vw;
  font-size: 6vw;
  line-height: 1.3;
  word-break: keep-all;
}

.con09_title b {
  font-size: 7vw;
}

.con09_desc {
  margin-top: 4vw;
  font-size: 3.5vw;
  line-height: 1.55em;
}

.con09_sales {
    width: 100%;
    height: 25vw;
    margin-top: 12vw;
}

.con09_sales_box {
  width: 50%;
  height: 25vw;
}

.con09_sales_left {
  padding-right: 0;
}

.con09_sales_right {
  padding-left: 0;
}

.con09_03,
.con09_04 {
  width: auto;
}
.con09_sales_num{
  font-size: 8.5vw;
}
.con09_sales_won{
  margin-left: 0.6vw;
  font-size: 4vw;
}

.con09_best {
  width: 23vw;
  height: 10vw;
  border-radius: 99vw;
  font-size: 3.6vw;
  margin-top: -13vw;
}

.con09_copy {
  margin-top: 15vw;
  font-size: 5.5vw;
  line-height: 1.3;
}

.con09_copy span {
  font-size: 7vw;
}

.con09_store_slide_frame {
  width: 100%;
  margin-top: 6vw;
  padding: 2vw 0;
  overflow: hidden;
}

.con09_store_slide_frame::before,
.con09_store_slide_frame::after {
  width: 14vw;
  display: none;
}

.con09_store_row + .con09_store_row {
  margin-top: 2vw;
}

.con09_store_card {
  width: 40vw;
  min-height: 25vw;
  padding: 3.5vw 0;
}

.con09_store_control {
    width: 33vw;
    background-color: transparent;
}

.con09_store_period {
    width: 23vw;
    height: 8vw;
    line-height: 8vw;
    border-radius: 99vw;
    font-size: 3.3vw;
}
.con09_store_period_top {
    transform: translateY(-3.7vw);
}
.con09_store_period_bottom {
    transform: translateY(1.8vw);
}

.con09_store_nav {
  gap: 6vw;
  margin: 4vw 0;
}

.con09_store_arrow {
  width: 6vw;
  height: 6vw;
  font-size: 5.2vw;
}

.con09_store_name {
  font-size: 3.6vw;
}

.con09_store_date {
  margin-top: 1.5vw;
  font-size: 3vw;
}

.con09_store_price {
  margin-top: 2vw;
  font-size: 5vw;
}

.con09_store_price span {
  margin-left: 1vw;
  font-size: 3.2vw;
}

.con09_tt {
  font-size: 3vw;
  margin-top: 4vw;
}

.swiper-slide-active .con09_store_card{
  transform: translateX(-2vw);
}
.swiper-slide-next .con09_store_card{
  transform: translateX(2vw);
}





/* ===== con10 mobile ===== */
.con10 {
  height: auto;
  flex-direction: column;
  align-items: center;
}

.con10_left,
.con10_right {
  width: 100%;
  height: auto;
}

.con10_left_inner {
    height: auto;
    padding: 15vw 0 0;
}

.con10_label {
  font-size: 3.6vw;
}

.con10_bar {
  width: 14vw;
  margin-top: 2.5vw;
}

.con10_title {
    margin-top: 5vw;
    font-size: 7vw;
    line-height: 1.28em;
    word-break: keep-all;
}

.con10_desc {
    width: 86%;
    margin-top: 3vw;
    font-size: 3.5vw;
    line-height: 1.65em;
    word-break: keep-all;
}

.con10_bowl {
    width: 70vw;
    margin-top: 8vw;
}

.con10_right {
    position: relative;
    padding: 0 0 5vw;
    box-sizing: border-box;
}

.con10_right_inner {
  height: auto;
  overflow: visible;
}

.con10_step_nav {
    left: 50%;
    top: 3vw;
    width: 72vw;
    flex-direction: row;
    justify-content: center;
    gap: 2vw;
    transform: translateX(-50%);
    display: none;
}

.con10_step_icon {
  width: 8vw;
  font-size: 3.4vw;
}

.con10_step_line {
  width: 11vw;
  height: 1vw;
  margin-top: 0;
  transform: rotate(90deg);
}

.con10_card_stack {
    width: 100%;
    gap: 4vw;
    margin: 5vw 0 0;
}

.con10_card {
    width: 93vw;
    min-height: 42vw;
    aspect-ratio: auto;
    border-radius: 4vw;
    overflow: hidden;
}

.con10_card_copy {
    margin-left: 15vw;
    width: 54vw;
}

.con10_card_01 .con10_card_copy, .con10_card_02 .con10_card_copy, .con10_card_03 .con10_card_copy, .con10_card_04 .con10_card_copy {
    margin-top: 8vw;
    z-index: 5;
}

.con10_card_title {
  font-size: 4vw;
}

.con10_card_rule {
  width: 11vw;
  height: 1px;
  margin-top: 2.5vw;
  display: none;
}

.con10_card_desc {
  margin-top: 3vw;
  font-size: 3.2vw;
  line-height: 1.55em;
  word-break: keep-all;
}

.con10_card_02 .con10_card_desc,
.con10_card_03 .con10_card_desc {
  margin-top: 3vw;
}

.con10_card_video {
    width: 35vw;
    height: 30vw;
    border-radius: 2vw;
    left: 57%;
    top: 14%;
    opacity: 0.8;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,0.2) 30%, #000 70%, #000 100%);
    mask-image: linear-gradient(to right, transparent 5%, rgba(0,0,0,0.2) 30%, #000 50%, #000 100%);
}

.con10_card_video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ===== con11 mobile ===== */
.con11 {
    padding: 15vw 0 15vw;
}

.con11_bg_pattern {
    bottom: 23%;
    width: 160vw;
    left: 50%;
    transform: translateX(-50%);
}

.con11_head {
  width: 88%;
}

.con11_label {
  font-size: 3.6vw;
}

.con11_01 {
  width: 14vw;
  margin-top: 2.5vw;
}

.con11_title {
    margin-top: 5vw;
    font-size: 7vw;
    line-height: 1.3;
    word-break: keep-all;
}

.con11_video_box {
    width: 88vw;
    height: 49vw;
    margin-top: 6vw;
}

.con11_video_box iframe {
  width: 110%;
  height: 140%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

.swiper_con11 {
    /* display: none; */
    position: static;
    width: 100%;
    margin-top: 6vw;
}

.swiper-slide-active .con11_slide {
    transform: translateY(0);
}

.con11_slide_tt01 {
    padding: 1.5vw 3vw;
    font-size: 3.5vw;
}

.con11_slide_tt02 {
    padding: 3vw 0;
    font-size: 4vw;
}

.con11_slide_tt03 {
    font-size: 3.3vw;
}

/* ===== con12 mobile ===== */
.con12 {
    padding: 13vw 0 15vw;
    background-position: center top;
}

.con12_line {
  display: none;
}

.con12_interview_box {
  width: 88%;
  align-items: center;
  text-align: center;
}

.con12_label_group {
  align-items: center;
}

.con12_label {
  font-size: 3.6vw;
  text-align: center;
}

.con12_bar {
  width: 14vw;
  margin-top: 2.5vw;
}

.con12_title {
    margin-top: 6vw;
    font-size: 7vw;
    line-height: 1.3;
    text-align: center;
}

.con12_desc {
    margin-top: 3vw;
    font-size: 3.5vw;
    line-height: 1.6em;
    text-align: center;
    word-break: keep-all;
}

.swiper_con12 {
    width: 90vw;
    margin-top: 7vw;
}

.con12_owner {
    width: 26vw;
}

.con12_owner p {
    font-size: 3.3vw;
    line-height: 1.3em;
}

.con12_03 {
    position: relative;
    left: auto;
    top: auto;
    width: 92vw !important;
    height: 135vw;
    margin-top: 15vw;
    aspect-ratio: auto;
}

.con12_03 > img {
  height: 100%;
  object-fit: fill;
}

.con12_03_in {
    left: 50%;
    top: 48%;
    width: 82%;
    height: 80%;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    transform: translate(-50%, -50%);
}

.con12_03_in_left {
  width: 100%;
  height: auto;
  align-items: center;
  flex-shrink: 0;
}

.con12_photo {
    width: 46vw !important;
    height: 50vw;
}

.con12_store_info {
    align-items: center;
    margin-top: 5vw;
}

.con12_store_name {
  font-size: 3.5vw;
}

.con12_store_owner {
  margin-top: 1vw;
  font-size: 4.3vw;
}

.con12_slide_controls {
    gap: 2vw;
    /* margin-top: 3vw; */
    position: absolute;
    top: -23vw;
}

.con12_slide_prev,
.con12_slide_next {
  width: 15vw;
  height: 7vw;
  border-radius: 99vw;
}

.con12_slide_prev span,
.con12_slide_next span {
  width: 4vw;
}

.con12_slide_prev span::before,
.con12_slide_next span::before {
  top: -0.8vw;
  width: 1.8vw;
}

.con12_03_in_right {
  width: 100%;
  height: 43vw;
  margin-top: 5vw;
}

.con12_03_in_right::after {
  height: 13vw;
}

.con12_qa_item {
  padding-bottom: 4vw;
  margin-bottom: 4vw;
}

.con12_qa_num {
  width: 9vw;
  font-size: 3.8vw;
}

.con12_qa_text {
  margin-top: 0.5vw;
}

.con12_qa_title {
  font-size: 3.6vw;
}

.con12_qa_desc {
  margin-top: 2vw;
  font-size: 3.3vw;
  line-height: 1.55em;
  word-break: keep-all;
}

.con12_06 {
    left: -2vw;
    top: 5vw;
    width: 8vw !important;
}

.con12_04 {
    right: 2vw;
    bottom: -3vw;
    width: 30vw !important;
}

/* ===== con13 mobile ===== */
.con13 {
  padding: 0;
}
.con13_03 > img {
    opacity: 0;
}

.con13_in {
    width: 100vw;
    height: 220vw;
}

.con13_02 {
  width: 220vw !important;
  left: 50%;
  transform: translateX(-50%);
}

.con13_review_rows {
    top: 122vw;
    gap: 6vw;
    /* opacity: 0.3; */
}
.con13_review_slide .swiper-slide {
  width: 48vw;
}
.con13_review_slide_bottom {
  display: none;
}

.con13_review_card {
    width: 100% !important;
    height: auto;
}

.con13_03 {
  left: 50%;
  top: 0;
  width: 100vw !important;
  height: 100%;
  transform: translateX(-50%);
}

.con13_center_content {
  justify-content: center;
}

.con13_label {
  font-size: 3.6vw;
}

.con13_01 {
    width: 14vw !important;
    margin-top: 2.5vw;
}

.con13_title {
    width: 100%;
    margin-top: 6vw;
    font-size: 6.8vw;
    line-height: 1.3em;
    word-break: keep-all;
}

.con13_desc {
    margin-top: 3vw;
    font-size: 3.4vw;
    line-height: 1.55em;
    word-break: keep-all;
}

.con13_keywords {
    width: 62vw;
    margin-top: 5vw;
    border-radius: 5vw;
    margin-bottom: 90vw;
}

.con13_keywords p {
  min-height: 11vw;
  padding: 2vw 3vw;
  font-size: 3.4vw;
}

.con13_en {
  bottom: 10vw;
  font-size: 3.2vw;
}





.con14_video {
    clip-path: none;
}
.con14_center_title {
    z-index: 5;
    filter: invert(1);
    display: none;
}

/* ===== con14 mobile ===== */
.con14 {
    height: 170vw;
    background-position: center;
}

.con14_video {
  width: 100%;
  height: 100%;
}

.con14_video iframe {
    width: 150%;
    height: 100%;
    scale: 3.1;
}

.con14_video_in {
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.con14_mid_line {
  top: 70%;
}

.con14_content {
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
    gap: 10vw;
    padding: 15vw 0 0vw;
    box-sizing: border-box;
}

.con14_left_circle {
    width: 100%;
    height: auto;
    aspect-ratio: unset;
}

.con14_left_circle > img {
    display: none;
}

.con14_left_text {
    position: static;
}

.con14_left_title {
  font-size: 7vw;
  line-height: 1.35em;
}

.con14_left_desc {
    width: 100%;
    margin-top: 4vw;
    font-size: 3.5vw;
    line-height: 1.5;
    word-break: keep-all;
}

.con14_center {
  position: relative;
  margin-bottom: 0;
  z-index: 6;
}

.con14_center_label {
  font-size: 3.6vw;
}

.con14_bar {
    width: 14vw;
    margin-top: 3vw;
}

.con14_center_title {
  font-size: 7.5vw;
}

.con14_center_title.item1 {
    left: 8vw;
    top: 7vw;
}

.con14_center_title.item2 {
    right: 8vw;
    bottom: 7vw;
}

.con14_circle_slide {
    width: 100%;
    height: 72vw;
    margin-right: 0;
    overflow: hidden;
}
.con14_left_circle::after {
    width: 130%;
    height: 218%;
    top: -60%;
}

.con14_circle_slide .swiper-slide {
  width: 72vw;
  height: 72vw !important;
  pointer-events: none;
}

.con14_circle_slide .swiper-slide-active {
  pointer-events: auto;
}

.con14_slide_circle {
  width: 65vw;
}

.con14_badge {
  width: 8vw;
  margin-bottom: 4vw;
}

.con14_badge span {
  font-size: 3.4vw;
}

.con14_slide_title {
  font-size: 4.2vw;
}

.con14_slide_desc {
  margin-top: 3vw;
  font-size: 3.4vw;
  line-height: 1.55em;
  word-break: keep-all;
}

/* ===== con15 mobile ===== */
.con15 {
    min-height: auto;
    padding: 15vw 0 15vw;
}

.con15_tree {
    left: -24vw;
    top: -2vw;
    width: 62vw;
    /* opacity: 0.3; */
}

.con15_roof {
    right: 0vw;
    bottom: -18vw;
    width: 55vw;
    /* opacity: 0.5; */
}

.con15_head {
  width: 86%;
}

.con15_label_text {
  font-size: 3.6vw;
}

.con15_bar {
  width: 14vw;
  margin-top: 2.5vw;
}

.con15_title {
    margin-top: 6vw;
    font-size: 7vw;
    line-height: 1.3;
    word-break: keep-all;
}

.con15_desc {
    margin-top: 3vw;
    font-size: 3.5vw;
    line-height: 1.6em;
    word-break: keep-all;
}

.con15_cards {
    width: 100%;
    flex-wrap: wrap;
    gap: 2vw;
    margin-top: 6vw;
}

.con15_card_cell {
    width: 47vw;
}

.con15_card_cell.on {
  transform: translateY(0);
}

.con15_card {
  width: 100%;
  height: 48vw;
  padding-top: 6vw;
  border-radius: 5vw;
  opacity: 1 !important;
  transform: none !important;
}

.con15_card_icon {
  width: 9vw;
}

.con15_card_title {
    margin-top: 2vw;
    font-size: 3.8vw;
    line-height: 1.25em;
}

.con15_card_desc {
    width: 100%;
    margin-top: 2vw;
    font-size: 3.3vw;
    line-height: 1.35em;
    word-break: keep-all;
}

/* ===== con16 mobile ===== */
.con16 {
    min-height: auto;
    padding: 4vw 0;
}

.con16_frame {
    width: 94%;
    min-height: auto;
    padding: 10vw 0 15vw;
}

.con16_08 {
    width: 8vw !important;
}

.con16_01 {
  width: 28vw;
  height: 11.6vw;
}

.con16_01 p {
  font-size: 3.3vw;
}

.con16_title, .con16_process_title {
    margin-top: 4vw;
    font-size: 7vw;
    line-height: 1.25em;
}

.con16_desc, .con16_process_desc {
    margin-top: 3vw;
    font-size: 3.5vw;
    line-height: 1.55em;
    word-break: keep-all;
}

.con16_cost_wrap {
  width: 78vw;
  height: 64vw;
  margin-top: 6vw;
}

.con16_03 {
  width: 100%;
  opacity: 0.42;
  filter: blur(1px);
}

.con16_consult_card {
  width: 64vw;
  height: 58vw;
  padding-top: 0;
  border-radius: 6vw;
  overflow: hidden;
}

.con16_consult_card .con16_02 {
  left: 0;
  top: 0;
  width: 100% !important;
  height: 100% !important;
}

.con16_consult_card .con16_02 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

.con16_02a {
    width: 37vw !important;
    margin-top: 24vw;
}

.con16_card_title {
    margin-top: 3vw;
    font-size: 4vw;
}

.con16_card_desc {
    margin-top: 1.8vw;
    font-size: 3.3vw;
    line-height: 1.22em;
}

.con16_process_head {
    margin-top: 5vw;
}

.con16_process_grid {
    width: 70vw;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
    gap: 2vw;
    margin: 0 auto;
    margin-top: 6vw;
}

.con16_process_grid_line {
  display: none;
}

.con16_step_card {
    width: 100%;
}

.con16_step_card > img {
  width: 100%;
}

.con16_step_text {
    left: 16vw;
    top: 55%;
    transform: translateY(-50%);
}

.con16_step_title {
  font-size: 3.6vw;
  line-height: 1.25em;
}

.con16_step_desc {
  margin-top: 2vw;
  font-size: 3.3vw;
  line-height: 1.35em;
  word-break: keep-all;
}

.con16_step_arrow {
  display: none;
}

.con16_food {
    width: 105vw !important;
    bottom: 0;
    opacity: 0.85;
}

.con16_06 {
  bottom: -4vw;
  width: 32vw;
}

/* ===== con17 mobile ===== */
.con17 {
  padding: 14vw 0 10vw;
}

.con17_01 {
  width: 220vw;
  left: 50%;
  transform: translateX(-50%);
  display: none;
}

.con17_02 {
    width: 25vw !important;
}

.con17_title {
  margin-top: 4vw;
  font-size: 7.5vw;
}

.con17_map_frame {
  width: 92vw;
  height: 142vw;
  margin-top: 8vw;
  overflow: hidden;
}

.con17_map {
  height: 100%;
}

.con17_static_marker {
  width: 10vw;
  left: 58%;
  top: 42%;
}

.con17_search {
  left: 4vw;
  top: 4vw;
  width: 44vw;
}

.con17_search_tabs {
  height: 10vw;
}

.con17_search_tabs > div {
  font-size: 3.3vw;
}

.con17_search_input {
  height: 12vw;
  padding-left: 3vw;
}

.con17_search_input input {
  width: calc(100% - 11vw);
  font-size: 3.3vw;
}

.con17_search_btn {
  width: 15vw;
}

.con17_search_btn img {
  width: 6vw;
}

.con17_store_list {
  height: 50vw;
  padding: 0 4vw;
}

.map_mid_map_search_item {
  padding: 4vw 0;
}

.map_mid_map_search_item_title {
  font-size: 3.5vw;
}

.map_mid_map_search_item_address,
.map_mid_map_search_item_tel {
  margin-top: 1.5vw;
  font-size: 3.3vw;
  line-height: 1.35em;
}

.con17_detail {
  right: 4vw;
  bottom: 5vw;
  width: 84vw;
  height: auto;
  min-height: 54vw;
  padding: 5vw;
  flex-direction: column;
  align-items: flex-start;
  box-sizing: border-box;
}

.con17_detail_close {
  right: 3vw;
  top: 3vw;
  width: 8vw;
  height: 8vw;
}

.con17_detail_photo {
  width: 42vw;
  flex: none;
  height: 26vw;
}

.con17_detail_info {
  margin-left: 0;
  margin-top: 4vw;
}

.con17_detail_title {
  font-size: 4vw;
}

.con17_detail_list {
  margin-top: 3vw;
}

.con17_detail_list li {
  min-height: 5vw;
  font-size: 3.3vw;
  line-height: 1.35em;
}

.con17_detail_list li + li {
  margin-top: 1.6vw;
}

.con17_detail_list li img {
  width: 1.8vw;
  height: 1.8vw;
  margin-right: 2vw;
}

.con17_map_frame {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  padding: 4vw;
  background-color: #eef5e9;
  box-sizing: border-box;
  overflow: visible;
}

.con17_search {
  position: relative;
  left: auto;
  top: auto;
  order: 1;
  width: 100%;
  box-shadow: 0 2vw 5vw rgba(0, 0, 0, 0.08);
}

.con17_search_tabs {
  height: 12vw;
}

.con17_search_input {
  height: 13vw;
}

.con17_store_list {
  height: 45vw;
}

.con17_map {
  position: relative;
  inset: auto;
  order: 2;
  width: 100%;
  height: 54vw;
  margin-top: 4vw;
  border: 1px solid rgba(17, 17, 17, 0.16);
  box-sizing: border-box;
}

.con17_map_lock {
  position: absolute;
  left: 4vw;
  top: 78vw;
  z-index: 8;
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(100% - 8vw);
  height: 54vw;
  margin: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.18);
  box-sizing: border-box;
  text-align: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: pan-y;
}

.con17_map_lock_text {
  display: block;
  padding: 0 5vw;
  font-size: 4vw;
  font-weight: 700;
  line-height: 1.35em;
  word-break: keep-all;
}

.con17_map_frame.is-map-unlocked .con17_map_lock {
  opacity: 0;
  pointer-events: none;
}

.con17_static_marker {
  left: 50%;
  top: 103vw;
  width: 8.7vw;
}

.con17_detail {
  position: relative;
  right: auto;
  bottom: auto;
  order: 3;
  width: 100%;
  min-height: 0;
  margin-top: 4vw;
  padding: 3.8vw;
  flex-direction: row;
  align-items: center;
  box-shadow: 0 2vw 5vw rgba(0, 0, 0, 0.1);
}

.con17_detail_photo {
  width: 28vw;
  height: 23vw;
}

.con17_detail_info {
  margin-top: 0;
  margin-left: 4vw;
}

.con17_detail_close {
  right: 2.5vw;
  top: 2.5vw;
  width: 7vw;
  height: 7vw;
}

/* ===== con18 mobile ===== */
.con18 {
    padding: 8vw 0 10vw;
}

.con18_line {
    top: 90%;
}

.con18_visuals {
    width: 85%;
    flex-direction: column;
    gap: 3vw;
    margin-top: 0;
}

.con18_visual {
  width: 100%;
}

.con18_head {
    width: 100%;
    margin-top: 9vw;
}

.con18_label {
  font-size: 3.6vw;
}

.con18_bar {
  width: 14vw;
  margin-top: 2vw;
}

.con18_title {
    margin-top: 5vw;
    font-size: 7vw;
    line-height: 1.28em;
    word-break: keep-all;
}

.con18_desc {
    margin-top: 3vw;
    font-size: 3.5vw;
    line-height: 1.6em;
    word-break: keep-all;
}

.con18_food_slide {
    margin-top: 7vw;
    overflow: hidden;
}

.con18_food_slide .swiper-slide {
  margin-right: 8vw;
}

.con18_food_img {
  width: 18vw;
}

/* ===== con19 mobile ===== */
.con19 {
  height: 122vw;
  background-position: center top;
}

.con19_circle {
    width: 90vw;
    height: 90vw;
}

.con19_en {
  width: 25vw;
  margin-top: -2vw;
}

.con19_title_img {
  width: 70vw;
  margin-top: 6vw;
}

.con19_desc {
    margin-top: 4vw;
    font-size: 4.4vw;
    line-height: 1.35em;
}

.con19_line {
  height: 100%;
}

.con19_line_01 {
  left: 3vw;
}

.con19_line_02 {
  left: 6vw;
}

.con19_line_03 {
  left: 9vw;
  display: none;
}

.con19_line_04 {
  right: 9vw;
  display: none;
}
.con19_line_05 {
  right: 6vw;
}
.con19_line_06 {
  right: 3vw;
}

.con19_bottom {
    width: 180vw;
    left: 50%;
    bottom: -5vw;
    transform: translateX(-50%);
}

/* ===== con20 mobile ===== */
.con20 {
  flex-direction: column;
  min-height: auto;
  padding: 13vw 0 34vw;
}

.con20_left {
    width: 100%;
    min-height: auto;
    padding: 0 7vw;
    box-sizing: border-box;
}

.con20_copy {
    width: 100%;
    padding-top: 0;
    text-align: center;
    align-items: center;
}

.con20_copy p{
    text-align: center;
}

.con20_title {
  font-size: 7.5vw;
  line-height: 1.25em;
}

.con20_desc {
  margin-top: 4vw;
  font-size: 3.4vw;
  line-height: 1.6em;
  word-break: keep-all;
}

.con20_food {
    width: 70vw;
    margin-top: 8vw;
    left: 16.5%;
    bottom: -2%;
}

.con20_right {
    width: 100%;
    height: auto;
    padding: 6vw 10vw 0;
    box-sizing: border-box;
}

.con20_form {
  width: 100%;
}

.con20_field {
    height: 11vw;
    border-radius: 2vw;
}

.con20_field + .con20_field,
.con20_textarea_wrap {
  margin-top: 2vw;
}

.con20_required {
    width: 3vw;
    margin: 0 0vw 0 1vw;
    font-size: 3.4vw;
}

.con20_field_label,
.con20_textarea_label {
  width: 25vw;
  font-size: 3.5vw;
}

.con20_input,
.con20_select,
.con20_textarea {
  font-size: 3.5vw;
}

.con20_select_arrow {
    right: 7vw;
    top: 50%;
    width: 2vw;
    height: 2vw;
    transform: translateY(-60%) rotate(45deg);
}

.con20_store_options {
  gap: 6vw;
}

.con20_radio {
  gap: 2vw;
  font-size: 3.5vw;
}

.con20_radio input {
  width: 4vw;
  height: 4vw;
}

.con20_textarea_wrap {
    height: 28vw;
    border-radius: 2vw;
    padding: 4vw;
}

.con20_agree_row {
  margin-top: 4vw;
  gap: 2vw;
}

.con20_agree {
    width: 4vw;
}

.con20_agree input:checked + .con20_agree_icon::before {
  width: 3vw;
}

.con20_agree_text {
  font-size: 3.4vw;
}

.con20_submit {
    width: 48vw;
    height: 13vw;
    margin-top: 6vw;
    border-radius: 10vw;
    font-size: 4vw;
}



}
